interface MyFn {
  (a: string, b?: string): string;
}

function test(a: string, b?: string): string {
  console.log(a);
  return '1';
}

// 箭头函数
const testFn: MyFn = (a, b) => {
  return '1';
};

const testC = test('a').substring(0, 1);

// 注意  下面的类似箭头函数的定义  并不是箭头函数，而是我们定义函数类型的一种写法
interface OBjInter {
  a: string;
  b: number;
  c(a: string): string;
}

// 这里定义的才是真正的箭头函数
const testObj2: OBjInter = {
  a: '1',
  b: 1,
  c: (a: string) => 'false',
};

testObj2.c('1');

interface ListItemInter {
  id: number;
  name: string;
  phone: number;
  status: 0 | 1;
}
interface ListInter {
  page: number;
  list: ListItemInter[];
  totalCount: number;
}

const listData: ListInter = {
  page: 1,
  totalCount: 100,
  list: [{ id: 1, name: 'xxx', phone: 1388888, status: 0 }],
};
